package com.my.common.base;

import java.util.List;
import java.util.Map;

/**
 * Mapper基础接口
 * @author zhaodongchao
 * @date 2020/4/20 19:27
 */
public interface BaseMapper<T,I> {
    /**
     * 新增一条记录
     * @param record 记录实体
     * @return 1 新增成功 ，其他新增失败
     */
    int insert(T record) ;

    /**
     * 根据ID删除一条记录
     * @param id 记录ID
     * @return 1 删除成功， 其他删除失败
     */
    int delete(I id) ;

    /**
     * 更新一条记录
     * @param record 待更新的记录实体
     * @return 1 更新成功 ， 其他更新
     */
    int update(T record);

    /**
     * 通过ID查询一条记录
     * @param id 主键ID
     * @return 记录实体
     */
    T selectById(I id) ;

    /**
     * 查询记录列表
     * @param param 查询参数
     * @return 记录集合
     */
    List<T> list(Map<String,Object> param) ;
}
